layui.use(['table', 'form', 'laydate'], function () {
    var table = layui.table,
        form = layui.form,
        laydate = layui.laydate
    ;
    laydate.render({
        elem: '#query-startTime',
        done: function (value, date, endDate) {
            console.log(value); //得到日期生成的值，如：2017-08-18
            //选择结束触发表单提交ajax
            querySend()
        }
    })
    form.on('select(past-due)', function (data) {
        querySend()
    })

    //自定义表单查询方法
    function querySend() {
        const d = form.val('query')
        console.log(d)
        ratesTable.reload({
            where: d
        })
    }


    var ratesTable = table.render({
        elem: '#dormitoryTable',
        height: 380,
        url: '/standard/getClassesStandard',
        page: true,
        limits: [10, 15, 20],
        cols: [[ //表头
            {
                field: '', title: '序号', width: 100, sort: true, fixed: 'left', align: 'center',
                templet: function (d) {
                    return d.LAY_INDEX
                }
            }
            , {field: 'classesPeriods', title: '收费期数', width: 120, align: 'center',}
            , {field: 'classesMoney', title: '收费标准', width: 120, align: 'center',}
            , {field: 'startTime', title: '设置时间', width: 120, align: 'center',}
            , {field: 'endTime', title: '结束时间', sort: true, width: 120, align: 'center'}
            , {
                field: '', title: '是否过期', width: 120, align: 'center',
                templet: function (d) {
                    if (new Date(d.endTime).getTime() + 1000 * 60 * 60 * 24 < new Date().getTime()) {
                        return `<span style="color: #ff0000">已过期</span>`
                    } else {
                        return `<span style="color: #5FB878">未过期</span>`

                    }
                }
            },
            {
                field: 'startUseing', title: '是否启用', width: 120, align: 'center', templet(d) {
                    if (d.startUseing == 1) {
                        return `<input type="checkbox" name="startUseing" value="` + d.id + `" lay-filter="start" lay-skin="switch" lay-text="ON|OFF" checked>`
                    } else {
                        return `<input type="checkbox" name="startUseing"  value="` + d.id + `"lay-filter="start" lay-skin="switch" lay-text="ON|OFF" >`
                    }
                }
            }
            , {field: '', title: '操作', fixed: 'right', width: 140, align: 'center', toolbar: '#editTool'}
        ]],
        toolbar: '#utilsHeader',
        done: function (res) {
            var price = 0 //定义累加总价钱
            $.each(res.data, function (i) {
                price += parseFloat(res.data[i].rates) //对价格进行累加操作
            })
            $('.vessel-pricesum').text(price.toFixed(2)) //保留两位小数

            //渲染开关
            form.render('checkbox')

        },
        parseData: function (res) {
            if (res.code == '500') {
                layer.msg('请检查网络是否正常')
            }
            return {
                "code": res.code,
                "msg": res.msg,
                "count": res.count,
                "data": res.data
            }
        }
    })

    // 操作新增项目
    table.on('toolbar(dormitoryTable)', function (obj) {
        if (obj.event === 'addproject') {
            layer.open({
                type: 1,
                content: $('#addProject').html(),
                area: ['600px', '400px'],
                success: res => {
                    laydate.render({
                        elem: '#test-range' //开始时间和结束时间所在 input 框的父选择器
                        //设置开始日期、日期日期的 input 选择器
                        , range: ['#startTime', '#endTime'] //数组格式为 layui 2.6.6 开始新增
                    });
                }
            })
        }
    })
    //启用开关监听
    form.on('switch(start)', function (data) {
        var startUseing;
        if (data.elem.checked) {
            //启用
            startUseing = 1
        } else if (!data.elem.checked) {
            //不启用
            startUseing = 0
        }
        //发送ajax请求
        $.get({
            url: '/standard/uptClassesStartUseing',
            data: {id: data.value, startUseing: startUseing},
            dataType: "json",
            success: res => {
                if (res.state == '200') {
                    layer.msg('操作成功')
                } else {
                    layer.msg(res.data)
                    ratesTable.reload() //重载表格
                }
            }
        })
    });


    //提交添加表单
    form.on('submit(send-add)', function (d) {
        $.get({
            url: '/standard/istClassesPrice',
            data: d.field,
            dataType: 'json',
            success: res => {
                if (res.state == '200') {
                    layer.msg(res.data)
                    layer.close(layer.index - 1)
                    ratesTable.reload() //重载表格
                } else {
                    layer.msg(res.data)

                }
            }
        })
    })

    //基础项目选线删除
    table.on('tool(dormitoryTable)', function (d) {
        console.log(d.data.id)
        if (d.event === 'del') {
            layer.confirm('确认删除该收费项吗？', function () {
                $.get({
                    url: '/standard/delClassesStandard',
                    data: {id: d.data.id},
                    dataType: 'json',
                    success: res => {
                        if (res.state === '200') {
                            layer.msg('删除成功')
                            ratesTable.reload() //重载表格
                        } else {
                            layer.msg('删除失败')
                        }
                    }
                })
            })
        } else if (d.event === 'edit') {

            layer.open({
                type: 1,
                content: $('#editProject').html(),
                title: '班级收费设置',
                area: ['40%', '50%'],
                success: res => {
                    //设置日期组件，并赋予最小值
                    laydate.render({
                        elem: '#update-endTime',
                        min: 0
                    })
                    form.val('edit-form', d.data)
                    //提交编辑表单
                    form.on('submit(editProject)', function (d) {
                        $.get({
                            url: '/standard/uptClassesMoney',
                            data: d.field,
                            dataType: 'json',
                            success: res => {
                                if (res.state == '200') {
                                    layer.msg('修改成功') //成功提示
                                    layer.close(layer.index - 1) //关闭弹出层
                                    ratesTable.reload() //重载表格
                                } else {
                                    layer.msg('修改失败') // 失败提示
                                }
                            }
                        })
                    })
                }
            })
        }
    })
    //查询表单提交
    $('.my-btn').click(function () {
        ratesTable.reload({
            where: {
                info: $('input[name=info]').val()
            }
        }) //重载表格
    })
})
